n,k=list(map(int,input().split()))
s=input()
a=list(map(str,input().split()))
d,f,p={},"",0
for i in range(k):
d[a[i]]=1
for i in range(n):
if d.get(s[i])!=None:
f+=s[i]
else:
g=len(f)
p+=(g*(g+1))//2
f=""
if f:
g=len(f)
p+=(g*(g+1))//2
print(p)
#include<bits/stdc++.h>
using namespace std;
long long i,k,m,n,t,p[27];
char x;
string s;
int main(){
for(cin>>n>>k>>s;k--;p[x-96]=1)
cin>>x;
for(;i<=n;i++)
i<n&&p[s[i]-96]?m++:(t+=m*(m+1)/2,m=0);
cout<<t;
return 0;
}
2085. Count Common Words With One Occurrence | 2089. Find Target Indices After Sorting Array |
2090. K Radius Subarray Averages | 2091. Removing Minimum and Maximum From Array |
6. Zigzag Conversion | 1612B - Special Permutation |
1481. Least Number of Unique Integers after K Removals | 1035. Uncrossed Lines |
328. Odd Even Linked List | 1219. Path with Maximum Gold |
1268. Search Suggestions System | 841. Keys and Rooms |
152. Maximum Product Subarray | 337. House Robber III |
869. Reordered Power of 2 | 1593C - Save More Mice |
1217. Minimum Cost to Move Chips to The Same Position | 347. Top K Frequent Elements |
1503. Last Moment Before All Ants Fall Out of a Plank | 430. Flatten a Multilevel Doubly Linked List |
1290. Convert Binary Number in a Linked List to Integer | 1525. Number of Good Ways to Split a String |
72. Edit Distance | 563. Binary Tree Tilt |
1306. Jump Game III | 236. Lowest Common Ancestor of a Binary Tree |
790. Domino and Tromino Tiling | 878. Nth Magical Number |
2099. Find Subsequence of Length K With the Largest Sum | 1608A - Find Array |